home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- set -e
-
- . /usr/share/debconf/confmodule
-
- THIS_PACKAGE=gdm
- DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
-
- case "$1" in
- configure)
- if grep "/usr/bin/gdm" $DEFAULT_DISPLAY_MANAGER_FILE; then
- echo "/usr/sbin/gdm" > $DEFAULT_DISPLAY_MANAGER_FILE
- fi
- ;;
- esac
-
- # creating gdm group if he isn't already there
- if ! getent group gdm >/dev/null; then
- addgroup --system gdm
- fi
-
- # creating gdm user if he isn't already there
- if ! getent passwd gdm >/dev/null; then
- adduser --system --ingroup gdm --home /var/lib/gdm gdm
- usermod -c "Gnome Display Manager" gdm
- usermod -d "/var/lib/gdm" gdm
- usermod -g "gdm" gdm
- usermod -s "/bin/false" gdm
- fi
-
- if [ -d /var/lib/gdm ]; then
- chown -R gdm:gdm /var/lib/gdm
- chmod 0750 /var/lib/gdm
- fi
-
- # debconf is not a registry, so we only fiddle with the default file if it
- # does not exist
- if [ ! -e $DEFAULT_DISPLAY_MANAGER_FILE ]; then
- if db_get shared/default-x-display-manager; then
- if [ "$THIS_PACKAGE" != "$RET" ]; then
- echo "Please be sure to run \"dpkg --configure $RET\"."
- fi
- if db_get "$RET"/daemon_name; then
- echo "$RET" > $DEFAULT_DISPLAY_MANAGER_FILE
- fi
- fi
- fi
- if [ ! -e /etc/default/gdm ]; then
- if db_get "locales/default_environment_locale"; then
- if [ "$RET" = "None" ]; then
- RET=
- fi
- # If there's a space in the answer, it's not valid, so go with the blank
- # default instead.
- if echo "$RET" | grep -q ' '; then
- RET=
- fi
- else
- RET=
- fi
- cat <<EOF > /etc/default/gdm
- # GDM Defaults, source in the init script that starts GDM. LANG setting is
- # taken from the locales package by default.
- EOF
- if [ -z "$RET" ]; then
- cat <<EOF >> /etc/default/gdm
- #LANG=
- EOF
- else
- cat <<EOF >> /etc/default/gdm
- LANG=$RET
- EOF
- fi
- fi
- # debconf hangs if gdm gets started below without this
- db_stop || true
-
- gdm_running=
-
- # NOTE: the binary on disk most likely has changed, so we can't use --exec
- if start-stop-daemon --stop --quiet --name gdm --signal 0 --pid /var/run/gdm.pid; then
- gdm_running=yes
- fi
-
- if [ -d /var/state/gdm ]; then
- if [ "$gdm_running" ]; then
- echo "Note: obsolete directory /var/state/gdm cannot be removed when gdm"
- echo "is running. Reinstall the gdm package (or remove the directory"
- echo "manually) when gdm is not running."
- else
- rm -r /var/state/gdm
- fi
- fi
-
- if [ -e /etc/rc2.d/S99gdm ]; then
- update-rc.d -f gdm remove >/dev/null
- fi
-
- if [ -x /etc/init.d/gdm ]; then
- update-rc.d gdm defaults 13 01 >/dev/null 2>&1
- invoke-rc.d gdm reload || true
- fi
-
- # Automatically added by dh_installmenu
- if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then
- update-menus
- fi
- # End automatically added section
- # Automatically added by dh_scrollkeeper
- if [ "$1" = "configure" ] && which scrollkeeper-update >/dev/null 2>&1; then
- scrollkeeper-update -q >/dev/null 2>&1
- fi
- # End automatically added section
- # Automatically added by dh_desktop
- if [ "$1" = "configure" ] && which update-desktop-database >/dev/null 2>&1 ; then
- update-desktop-database -q
- fi
- # End automatically added section
- # Automatically added by dh_iconcache
- touch -m /usr/share/icons/hicolor
- if [ "$1" = configure ] && \
- [ -x "`which gtk-update-icon-cache 2>/dev/null`" ] && \
- [ -f /etc/gtk-2.0/gdk-pixbuf.loaders ] && \
- [ "`find /usr/share/icons/hicolor -mindepth 1 -maxdepth 1 -type d | wc -l`" -gt 0 ] && \
- [ "`find /usr/share/icons/hicolor -mindepth 1 -maxdepth 1 -type f -name index.theme | wc -l`" -eq 1 ]; then
- gtk-update-icon-cache -q /usr/share/icons/hicolor
- fi
- # End automatically added section
-
-
- exit 0
-